package com.lucian.ge.user.mapper;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author lucian
 * @since 2019-04-17
 */
@Repository
public interface UserMapper {

    /**
     * 获得用户名
     * @param userId 用户名
     */
    String getUsername(String userId);

    /**
     * 注册
     * @param username 用户名
     */
    void insertUser(@Param("username") String username, @Param("password") String password);

    /**
     * 获得密码
     * @param username 用户名
     */
    String getPassword(String username);

    /**
     * 获得角色权限
     * @param username 用户名
     * @return user/admin
     */
    String getRole(String username);

    /**
     * 修改密码
     */
    void updatePassword(@Param("username") String username, @Param("newPassword") String newPassword);

    /**
     * 用户信息
     */
    Map<String, String> getUserInfo(String username);

    /**
     * 获得存在的用户
     */
    List<String> getUser();

    /**
     * 封号
     */
    void banUser(String username);

    /**
     * 检查用户状态
     */
    int checkUserBanStatus(String username);

    /**
     * 获得用户角色默认的权限
     */
    String getRolePermission(String username);

    /**
     * 获得用户的权限
     */
    String getPermission(String username);

    /*
     * 分享
     */
    void sid(@Param("shareid") String shareid, @Param("num") String num);
}